#version 1; November 2025
#Assumes laser has been connected with it.connect(x,9600)
#Requires PPCL700 or PPCL550 with Clean Measurement input
#Run with: it.script("examples\\EnableAnalogFTF.txt")
#---- Settings
FREQUENCY=194.56 #THz
POWER=13.2 #dBm
ANALOGFTFRANGE=1500 #MHz; the input voltage range (typ. 0-2.5 is mapped to the frequency offset -ANALOGFTFRANGE to +ANALOGFTFRANGE
#-----

import time

it.resena(mr=1)  #reset the unit
time.sleep(3)    #wait a couple of seconds
it.fcf1(int(FREQUENCY))
it.fcf2(10000*(FREQUENCY-int(FREQUENCY)))

it.pwr(int(POWER*100))

it.resena(sena=1) #enable laser

reftime=time.perf_counter()
while it.nop()[1].data()&0xff00 and time.perf_counter()-reftime<60:  #wait until pending flags drop, with timeout
    time.sleep(1)

print("Laser ON after %.1f seconds" %(time.perf_counter()-reftime))

time.sleep(5) #wait 5 more seconds to ensure stability

it.cleanMode(2)  #start whispmode

time.sleep(5)

it.analogFTF(ANALOGFTFRANGE)

print("Started analog FTF for a range of %d MHz" %(ANALOGFTFRANGE))